package net.wangds.auth.user.repo.rdbms;

import net.wangds.auth.module.User;
import net.wangds.data.DisableEnum;
import net.wangds.data.RemovedEnum;
import net.wangds.jpa.repository.RemovableRepo;
import net.wangds.auth.user.entity.GeneralUserEntity;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface UserJpaRepo extends RemovableRepo<GeneralUserEntity> {
    /**
     * 分页查找Id不再exceptIds中的用户信息.
     * @param exceptIds 例外用户id列表.
     * @param removed 删除状态.
     * @param pr 分页信息.
     * @return 结果.
     */
    Page<User> findByIdNotInAndRemoved(List<String> exceptIds, RemovedEnum removed, Pageable pr);


    /**
     * 分页查找Id不再exceptIds中的用户信息.
     * @param exceptIds 例外用户id列表.
     * @param pr 分页信息.
     * @return 结果.
     */
    Page<User> findByIdNotIn(List<String> exceptIds, Pageable pr);

}
